<template>
  <div class="common-layout">
    <el-container class="app">
      <el-aside width="200px">
        <!--使用组件  -->
        <menu-tree :data="1"></menu-tree>
        <!-- router 启动路由模式 -->
        <el-menu
          active-text-color="#ffd04b"
          background-color="#545c64"
          class="left-menu"
          default-active="2"
          text-color="#fff"
          router
        >
          <!--  生成动态菜单 -->
          <template v-for="item in userStore.menuList" :key="item.path">
            <!-- ---带有子菜单的一级菜单 -->
            <!-- 根据item是否有children属性，判断-是要生成el-menu-item  还是 el-sub-menu -->
            <el-sub-menu v-if="item.children" :index="item.path">
              <template #title>
                <el-icon>
                  <!-- 根据字符串-改变下面组件的名字 -->
                  <!-- <House /> -->
                  <component :is="item.icon"></component>
                </el-icon>
                <span>{{ item.title }}</span>
              </template>

              <!-- 二级菜单 要根据  item.children 生成 el-menu-item-->
              <el-menu-item v-for="item2 in item.children" :index="item2.path" :key="item2.path">
                <el-icon>
                  <!-- 根据字符串-改变下面组件的名字 -->
                  <!-- <House /> -->
                  <component :is="item2.icon"></component>
                </el-icon>
                <span>{{ item2.title }}</span>
              </el-menu-item>
            </el-sub-menu>
            <!-- ---没有子菜单的一级菜单 -->
            <el-menu-item v-else :index="item.path">
              <el-icon>
                <!-- 根据字符串-改变下面组件的名字 -->
                <!-- <House /> -->
                <component :is="item.icon"></component>
              </el-icon>
              <span>{{ item.title }}</span>
            </el-menu-item>
          </template>

          <!-- 只有一级目录 -->
          <!-- <el-menu-item index="/home">
            <el-icon><document /></el-icon>
            <span>首页</span>
          </el-menu-item> -->
          <!-- 有一级和二级目录 -->

          <!--  -->
          <!--二级菜单  -->

          <!-- <el-sub-menu index="/pro-man">
            <template #title>
              <el-icon><location /></el-icon>
              <span>商品管理</span>
            </template>

            <el-menu-item index="/ProductList">
              <el-icon><document /></el-icon>商品列表
            </el-menu-item>
            <el-menu-item index="/ProductPub"
              ><el-icon><document /></el-icon>商品发布</el-menu-item
            >
          </el-sub-menu> -->

          <!-- 只有一级目录 -->
          <!-- <el-menu-item index="/UserList">
            <el-icon><document /></el-icon>
            <span>管理员管理</span>
          </el-menu-item> -->
        </el-menu>
      </el-aside>
      <el-container>
        <el-header>
          管理员： {{ userStore.username }}

          <el-button type="danger" @click="logOut">退出</el-button>
        </el-header>
        <el-main>
          <!-- 右侧主体 会根据地址--改变 -->
          <!-- 创建页面组件--首页-商品列表-商品发布 -->
          <!-- 配置路由-layout里面的路由规则-嵌套路由--去layout的children里面配置 -->
          <router-view></router-view>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>

<script setup lang="ts">
import router from '@/router'
import { useUserStore } from '@/stores/user'
import { ref } from 'vue'
// 引入组件-自动组件组件
import MenuTree from '@/components/MenuTree.vue'

// const adminame = ref('')
// // 读取本地用户名
// adminame.value = localStorage.getItem('xx-mall-admin-adminname')

const userStore = useUserStore()

//退出
function logOut() {
  //删除本地的 管理员的name和token
  // localStorage.removeItem('xx-mall-admin-adminname')
  localStorage.removeItem('xx-mall-admin-token')
  userStore.setToken(null)
  userStore.setUsername(null)
  //强制跳转到登录
  router.push('/login')
}
</script>

<style scoped lang="scss">
.left-menu {
  height: 100vh;
}
.common-layout {
  height: 100%;
  .app {
    height: 100%;
  }
}
</style>
